import jieba
#首先要保证打开的文件是utf-8编码，如果不是，可使用记事本另存为utf-8编码
#UTF-8是一种面向互联网传输出现的变长(1-4字节)的字符UNICODE编码，它兼容ASCII码，即英文字符1个字节，汉字占3个字节。
with open('唐诗三百首.txt','r',encoding='utf-8')as fr:
    txt=fr.read();
    words= jieba.lcut(txt) #精确模式分析，返回一个列表类型
    counts={} #生成一个空字典
    for word in words: #统计每个单词的个数
        counts[word]=counts.get(word,0)+1 #有则加1，没有返回0+1(添加了新的键值对)
    items=list(counts.items())#返回所有的键值对
    items.sort(key=lambda x:x[1],reverse=True)
    for i in range(30):
            word,count=items[i]
            print("{0:<10}{1:>5}".format(word,count)) #word左对齐，count右对齐
